

  ========= 测试开始 : 20220320_231541 =========



>>> cases\数据环境-空白\

[ suite setup ] cases\数据环境-空白\
删除客户、药品、订单


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 10
Vary: Cookie
Set-Cookie: sessionid=44vjjm23fdwvdostluypmpdwh5oad7ja; expires=Sun, 03 Apr 2022 15:15:41 GMT; HttpOnly; Max-Age=1209600; Path=/; SameSite=Lax

{"ret": 0}
-------- HTTP response * end -------


列出订单


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 37
Vary: Cookie

{"ret": 0, "retlist": [], "total": 0}
-------- HTTP response * end -------


列出客户


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 37
Vary: Cookie

{"ret": 0, "retlist": [], "total": 0}
-------- HTTP response * end -------


列出药品


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 37
Vary: Cookie

{"ret": 0, "retlist": [], "total": 0}
-------- HTTP response * end -------




>>> cases\数据环境-空白\客户API\添加客户.py

* 添加客户 - API-0151  -  2022-03-20 23:15:41

  [ case execution steps ]

-- 第 1 步 -- 添加一个客户 

添加客户


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 20
Vary: Cookie

{"ret": 0, "id": 42}
-------- HTTP response * end -------



** 检查点 **  返回的ret值=0 ---->  通过


-- 第 2 步 -- 检查系统数据 

列出客户


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 152
Vary: Cookie

{"ret": 0, "retlist": [{"id": 42, "name": "武汉市桥西医院", "phonenumber": "13345679934", "address": "武汉市桥西医院北路"}], "total": 1}
-------- HTTP response * end -------



** 检查点 **  返回的消息体数据正确 ---->  通过

  PASS 

[ case teardown ] 添加客户 - API-0151
删除客户


-------- HTTP response * begin -------
200
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 10
Vary: Cookie

{"ret": 0}
-------- HTTP response * end -------



* 添加客户 - API-0153  -  2022-03-20 23:15:41

  [ case execution steps ]

-- 第 1 步 -- 添加一个客户 

添加客户


-------- HTTP response * begin -------
500
Date: Sun, 20 Mar 2022 15:15:41 GMT
Server: WSGIServer/0.2 CPython/3.7.5
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Content-Length: 71187
Vary: Cookie

<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="robots" content="NONE,NOARCHIVE">
  <title>KeyError
          at /api/mgr/customers</title>
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background-color:#fff; color:#000; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; }
    h2 { margin-bottom:.8em; }
    h3 { margin:1em 0 .5em 0; }
    h4 { margin:0 0 .5em 0; font-weight: normal; }
    code, pre { font-size: 100%; white-space: pre-wrap; }
    table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
    tbody td, tbody th { vertical-align:top; padding:2px 3px; }
    thead th {
      padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
      font-weight:normal; font-size:11px; border:1px solid #ddd;
    }
    tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
    table.vars { margin:5px 0 2px 40px; }
    table.vars td, table.req td { font-family:monospace; }
    table td.code { width:100%; }
    table td.code pre { overflow:hidden; }
    table.source th { color:#666; }
    table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
    ul.traceback { list-style-type:none; color: #222; }
    ul.traceback li.frame { padding-bottom:1em; color:#4f4f4f; }
    ul.traceback li.user { background-color:#e0e0e0; color:#000 }
    div.context { padding:10px 0; overflow:hidden; }
    div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
    div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
    div.context ol li pre { display:inline; }
    div.context ol.context-line li { color:#464646; background-color:#dfdfdf; padding: 3px 2px; }
    div.context ol.context-line li span { position:absolute; right:32px; }
    .user div.context ol.context-line li { background-color:#bbb; color:#000; }
    .user div.context ol li { color:#666; }
    div.commands { margin-left: 40px; }
    div.commands a { color:#555; text-decoration:none; }
    .user div.commands a { color: black; }
    #summary { background: #ffc; }
    #summary h2 { font-weight: normal; color: #666; }
    #explanation { background:#eee; }
    #template, #template-not-exist { background:#f6f6f6; }
    #template-not-exist ul { margin: 0 0 10px 20px; }
    #template-not-exist .postmortem-section { margin-bottom: 3px; }
    #unicode-hint { background:#eee; }
    #traceback { background:#eee; }
    #requestinfo { background:#f6f6f6; padding-left:120px; }
    #summary table { border:none; background:transparent; }
    #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
    #requestinfo h3 { margin-bottom:-1em; }
    .error { background: #ffc; }
    .specific { color:#cc3300; font-weight:bold; }
    h2 span.commands { font-size:.7em; font-weight:normal; }
    span.commands a:link {color:#5E5694;}
    pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }
    .append-bottom { margin-bottom: 10px; }
  </style>
  
  <script type="text/javascript">
    function hideAll(elems) {
      for (var e = 0; e < elems.length; e++) {
        elems[e].style.display = 'none';
      }
    }
    window.onload = function() {
      hideAll(document.querySelectorAll('table.vars'));
      hideAll(document.querySelectorAll('ol.pre-context'));
      hideAll(document.querySelectorAll('ol.post-context'));
      hideAll(document.querySelectorAll('div.pastebin'));
    }
    function toggle() {
      for (var i = 0; i < arguments.length; i++) {
        var e = document.getElementById(arguments[i]);
        if (e) {
          e.style.display = e.style.display == 'none' ? 'block': 'none';
        }
      }
      return false;
    }
    function varToggle(link, id) {
      toggle('v' + id);
      var s = link.getElementsByTagName('span')[0];
      var uarr = String.fromCharCode(0x25b6);
      var darr = String.fromCharCode(0x25bc);
      s.textContent = s.textContent == uarr ? darr : uarr;
      return false;
    }
    function switchPastebinFriendly(link) {
      s1 = "Switch to copy-and-paste view";
      s2 = "Switch back to interactive view";
      link.textContent = link.textContent.trim() == s1 ? s2: s1;
      toggle('browserTraceback', 'pastebinTraceback');
      return false;
    }
  </script>
  
</head>
<body>
<div id="summary">
  <h1>KeyError
       at /api/mgr/customers</h1>
  <pre class="exception_value">&#39;name&#39;</pre>
  <table class="meta">

    <tr>
      <th>Request Method:</th>
      <td>POST</td>
    </tr>
    <tr>
      <th>Request URL:</th>
      <td>http://127.0.0.1/api/mgr/customers</td>
    </tr>

    <tr>
      <th>Django Version:</th>
      <td>2.2.4</td>
    </tr>

    <tr>
      <th>Exception Type:</th>
      <td>KeyError</td>
    </tr>


    <tr>
      <th>Exception Value:</th>
      <td><pre>&#39;name&#39;</pre></td>
    </tr>


    <tr>
      <th>Exception Location:</th>
      <td>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\mgr\customer.py in addcustomer, line 60</td>
    </tr>

    <tr>
      <th>Python Executable:</th>
      <td>C:\offc\百度网盘资料\bysms\bysms\resource\python.exe</td>
    </tr>
    <tr>
      <th>Python Version:</th>
      <td>3.7.5</td>
    </tr>
    <tr>
      <th>Python Path:</th>
      <td><pre>[&#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource&#39;,
 &#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource\\python37.zip&#39;,
 &#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource\\DLLs&#39;,
 &#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource\\lib&#39;,
 &#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource&#39;,
 &#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource\\lib\\site-packages&#39;]</pre></td>
    </tr>
    <tr>
      <th>Server time:</th>
      <td>Sun, 20 Mar 2022 23:15:41 +0800</td>
    </tr>
  </table>
</div>




<div id="traceback">
  <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
    Switch to copy-and-paste view</a></span>
  </h2>
  <div id="browserTraceback">
    <ul class="traceback">
      
        
        <li class="frame django">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\exception.py</code> in <code>inner</code>

          
            <div class="context" id="c75267288">
              
                <ol start="27" class="pre-context" id="pre75267288">
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    This decorator is automatically applied to all middleware to ensure that</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    no middleware leaks an exception and that the next middleware in the stack</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    can rely on getting a response instead of an exception.</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    &quot;&quot;&quot;</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    @wraps(get_response)</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    def inner(request):</pre></li>
                
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>        try:</pre></li>
                
                </ol>
              
              <ol start="34" class="context-line">
                <li onclick="toggle('pre75267288', 'post75267288')"><pre>            response = get_response(request)</pre> <span>…</span></li>
              </ol>
              
                <ol start='35' class="post-context" id="post75267288">
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>        except Exception as exc:</pre></li>
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>            response = response_for_exception(request, exc)</pre></li>
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>        return response</pre></li>
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre>    return inner</pre></li>
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75267288', 'post75267288')"><pre></pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75267288')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75267288">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>exc</td>
                    <td class="code"><pre>KeyError(&#39;name&#39;)</pre></td>
                  </tr>
                
                  <tr>
                    <td>get_response</td>
                    <td class="code"><pre>&lt;bound method BaseHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x03694050&gt;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame django">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\base.py</code> in <code>_get_response</code>

          
            <div class="context" id="c75267848">
              
                <ol start="108" class="pre-context" id="pre75267848">
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>                break</pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre></pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>        if response is None:</pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>            wrapped_callback = self.make_view_atomic(callback)</pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>            try:</pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>                response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
                
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>            except Exception as e:</pre></li>
                
                </ol>
              
              <ol start="115" class="context-line">
                <li onclick="toggle('pre75267848', 'post75267848')"><pre>                response = self.process_exception_by_middleware(e, request)</pre> <span>…</span></li>
              </ol>
              
                <ol start='116' class="post-context" id="post75267848">
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>        # Complain if the view returned None (a common error).</pre></li>
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>        if response is None:</pre></li>
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>            if isinstance(callback, types.FunctionType):    # FBV</pre></li>
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>                view_name = callback.__name__</pre></li>
                  
                  <li onclick="toggle('pre75267848', 'post75267848')"><pre>            else:                                           # CBV</pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75267848')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75267848">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>callback</td>
                    <td class="code"><pre>&lt;function dispatcher at 0x03E091E0&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_args</td>
                    <td class="code"><pre>()</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_kwargs</td>
                    <td class="code"><pre>{}</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>resolver</td>
                    <td class="code"><pre>&lt;URLResolver &#39;bysms.urls&#39; (None:None) &#39;^/&#39;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>resolver_match</td>
                    <td class="code"><pre>ResolverMatch(func=mgr.customer.dispatcher, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[], route=api/mgr/customers)</pre></td>
                  </tr>
                
                  <tr>
                    <td>response</td>
                    <td class="code"><pre>None</pre></td>
                  </tr>
                
                  <tr>
                    <td>self</td>
                    <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x03694050&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>wrapped_callback</td>
                    <td class="code"><pre>&lt;function dispatcher at 0x03E091E0&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame django">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\base.py</code> in <code>_get_response</code>

          
            <div class="context" id="c75266968">
              
                <ol start="106" class="pre-context" id="pre75266968">
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            if response:</pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>                break</pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre></pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>        if response is None:</pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            wrapped_callback = self.make_view_atomic(callback)</pre></li>
                
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            try:</pre></li>
                
                </ol>
              
              <ol start="113" class="context-line">
                <li onclick="toggle('pre75266968', 'post75266968')"><pre>                response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>…</span></li>
              </ol>
              
                <ol start='114' class="post-context" id="post75266968">
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            except Exception as e:</pre></li>
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>                response = self.process_exception_by_middleware(e, request)</pre></li>
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>        # Complain if the view returned None (a common error).</pre></li>
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>        if response is None:</pre></li>
                  
                  <li onclick="toggle('pre75266968', 'post75266968')"><pre>            if isinstance(callback, types.FunctionType):    # FBV</pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75266968')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75266968">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>callback</td>
                    <td class="code"><pre>&lt;function dispatcher at 0x03E091E0&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_args</td>
                    <td class="code"><pre>()</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_kwargs</td>
                    <td class="code"><pre>{}</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>resolver</td>
                    <td class="code"><pre>&lt;URLResolver &#39;bysms.urls&#39; (None:None) &#39;^/&#39;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>resolver_match</td>
                    <td class="code"><pre>ResolverMatch(func=mgr.customer.dispatcher, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[], route=api/mgr/customers)</pre></td>
                  </tr>
                
                  <tr>
                    <td>response</td>
                    <td class="code"><pre>None</pre></td>
                  </tr>
                
                  <tr>
                    <td>self</td>
                    <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x03694050&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>wrapped_callback</td>
                    <td class="code"><pre>&lt;function dispatcher at 0x03E091E0&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame user">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\mgr\customer.py</code> in <code>dispatcher</code>

          
            <div class="context" id="c75266888">
              
                <ol start="119" class="pre-context" id="pre75266888">
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>    &#39;list_customer&#39;: listcustomers,</pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>    &#39;add_customer&#39;: addcustomer,</pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>    &#39;modify_customer&#39;: modifycustomer,</pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>    &#39;del_customer&#39;: deletecustomer,</pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>}</pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre></pre></li>
                
                  <li onclick="toggle('pre75266888', 'post75266888')"><pre>def dispatcher(request):</pre></li>
                
                </ol>
              
              <ol start="126" class="context-line">
                <li onclick="toggle('pre75266888', 'post75266888')"><pre>    return dispatcherBase(request, Action2Handler)</pre> <span>…</span></li>
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75266888')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75266888">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame user">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\lib\handler.py</code> in <code>dispatcherBase</code>

          
            <div class="context" id="c75268048">
              
                <ol start="31" class="pre-context" id="pre75268048">
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>        request.params = json.loads(request.body)</pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre></pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre></pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>    # 根据不同的action分派给不同的函数进行处理</pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>    action = request.params[&#39;action&#39;]</pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>    if action in action2HandlerTable:</pre></li>
                
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>        handlerFunc = action2HandlerTable[action]</pre></li>
                
                </ol>
              
              <ol start="38" class="context-line">
                <li onclick="toggle('pre75268048', 'post75268048')"><pre>        return handlerFunc(request)</pre> <span>…</span></li>
              </ol>
              
                <ol start='39' class="post-context" id="post75268048">
                  
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>    else:</pre></li>
                  
                  <li onclick="toggle('pre75268048', 'post75268048')"><pre>        return JsonResponse({&#39;ret&#39;: 1, &#39;msg&#39;: &#39;action参数错误&#39;})</pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75268048')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75268048">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>action</td>
                    <td class="code"><pre>&#39;add_customer&#39;</pre></td>
                  </tr>
                
                  <tr>
                    <td>action2HandlerTable</td>
                    <td class="code"><pre>{&#39;add_customer&#39;: &lt;function addcustomer at 0x03E09108&gt;,
 &#39;del_customer&#39;: &lt;function deletecustomer at 0x03E09198&gt;,
 &#39;list_customer&#39;: &lt;function listcustomers at 0x03E090C0&gt;,
 &#39;modify_customer&#39;: &lt;function modifycustomer at 0x03E09150&gt;}</pre></td>
                  </tr>
                
                  <tr>
                    <td>handlerFunc</td>
                    <td class="code"><pre>&lt;function addcustomer at 0x03E09108&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame user">
          <code>C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\mgr\customer.py</code> in <code>addcustomer</code>

          
            <div class="context" id="c75267928">
              
                <ol start="53" class="pre-context" id="pre75267928">
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>def addcustomer(request):</pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre></pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>    info    = request.params[&#39;data&#39;]</pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre></pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>    # 从请求消息中 获取要添加客户的信息</pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>    # 并且插入到数据库中</pre></li>
                
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>    # 返回值 就是对应插入记录的对象</pre></li>
                
                </ol>
              
              <ol start="60" class="context-line">
                <li onclick="toggle('pre75267928', 'post75267928')"><pre>    record = Customer.objects.create(name=info[&#39;name&#39;] ,</pre> <span>…</span></li>
              </ol>
              
                <ol start='61' class="post-context" id="post75267928">
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>                            phonenumber=info[&#39;phonenumber&#39;] ,</pre></li>
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>                            address=info[&#39;address&#39;])</pre></li>
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre></pre></li>
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre>    return JsonResponse({&#39;ret&#39;: 0, &#39;id&#39;:record.id})</pre></li>
                  
                  <li onclick="toggle('pre75267928', 'post75267928')"><pre></pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '75267928')"><span>&#x25b6;</span> Local vars</a>
                
            </div>
            <table class="vars" id="v75267928">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>info</td>
                    <td class="code"><pre>{&#39;address&#39;: &#39;南京市鼓楼北路&#39;, &#39;phonenumber&#39;: &#39;13345679934&#39;}</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/mgr/customers&#39;&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
    </ul>
  </div>
  <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">

  <div id="pastebinTraceback" class="pastebin">
    <input type="hidden" name="language" value="PythonConsole">
    <input type="hidden" name="title"
      value="KeyError at /api/mgr/customers">
    <input type="hidden" name="source" value="Django Dpaste Agent">
    <input type="hidden" name="poster" value="Django">
    <textarea name="content" id="traceback_area" cols="140" rows="25">
Environment:


Request Method: POST
Request URL: http://127.0.0.1/api/mgr/customers

Django Version: 2.2.4
Python Version: 3.7.5
Installed Applications:
[&#39;django.contrib.admin&#39;,
 &#39;django.contrib.auth&#39;,
 &#39;django.contrib.contenttypes&#39;,
 &#39;django.contrib.sessions&#39;,
 &#39;django.contrib.messages&#39;,
 &#39;django.contrib.staticfiles&#39;,
 &#39;common.apps.CommonConfig&#39;]
Installed Middleware:
[&#39;django.middleware.security.SecurityMiddleware&#39;,
 &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
 &#39;django.middleware.common.CommonMiddleware&#39;,
 &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
 &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
 &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;]



Traceback:

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\django\core\handlers\base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\mgr\customer.py" in dispatcher
  126.     return dispatcherBase(request, Action2Handler)

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\lib\handler.py" in dispatcherBase
  38.         return handlerFunc(request)

File "C:\offc\百度网盘资料\bysms\bysms\resource\lib\site-packages\mgr\customer.py" in addcustomer
  60.     record = Customer.objects.create(name=info[&#39;name&#39;] ,

Exception Type: KeyError at /api/mgr/customers
Exception Value: &#39;name&#39;
</textarea>
  <br><br>
  <input type="submit" value="Share this traceback on a public website">
  </div>
</form>
</div>



<div id="requestinfo">
  <h2>Request information</h2>


  
    <h3 id="user-info">USER</h3>
    <p>byhy</p>
  

  <h3 id="get-info">GET</h3>
  
    <p>No GET data</p>
  

  <h3 id="post-info">POST</h3>
  
    <p>No POST data</p>
  
  <h3 id="files-info">FILES</h3>
  
    <p>No FILES data</p>
  


  <h3 id="cookie-info">COOKIES</h3>
  
    <table class="req">
      <thead>
        <tr>
          <th>Variable</th>
          <th>Value</th>
        </tr>
      </thead>
      <tbody>
        
          <tr>
            <td>sessionid</td>
            <td class="code"><pre>&#39;44vjjm23fdwvdostluypmpdwh5oad7ja&#39;</pre></td>
          </tr>
        
      </tbody>
    </table>
  

  <h3 id="meta-info">META</h3>
  <table class="req">
    <thead>
      <tr>
        <th>Variable</th>
        <th>Value</th>
      </tr>
    </thead>
    <tbody>
      
        <tr>
          <td>ALLUSERSPROFILE</td>
          <td class="code"><pre>&#39;C:\\ProgramData&#39;</pre></td>
        </tr>
      
        <tr>
          <td>APPDATA</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\AppData\\Roaming&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CLASSPATH</td>
          <td class="code"><pre>&#39;C:\\Program Files\\Java\\jdk-15.0.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>COMMONPROGRAMFILES</td>
          <td class="code"><pre>&#39;C:\\Program Files (x86)\\Common Files&#39;</pre></td>
        </tr>
      
        <tr>
          <td>COMMONPROGRAMFILES(X86)</td>
          <td class="code"><pre>&#39;C:\\Program Files (x86)\\Common Files&#39;</pre></td>
        </tr>
      
        <tr>
          <td>COMMONPROGRAMW6432</td>
          <td class="code"><pre>&#39;C:\\Program Files\\Common Files&#39;</pre></td>
        </tr>
      
        <tr>
          <td>COMPUTERNAME</td>
          <td class="code"><pre>&#39;LAPTOP-29T4IPBI&#39;</pre></td>
        </tr>
      
        <tr>
          <td>COMSPEC</td>
          <td class="code"><pre>&#39;C:\\WINDOWS\\system32\\cmd.exe&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CONTENT_LENGTH</td>
          <td class="code"><pre>&#39;123&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CONTENT_TYPE</td>
          <td class="code"><pre>&#39;application/json&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DJANGO_SETTINGS_MODULE</td>
          <td class="code"><pre>&#39;bysms.settings&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DRIVERDATA</td>
          <td class="code"><pre>&#39;C:\\Windows\\System32\\Drivers\\DriverData&#39;</pre></td>
        </tr>
      
        <tr>
          <td>FPS_BROWSER_APP_PROFILE_STRING</td>
          <td class="code"><pre>&#39;Internet Explorer&#39;</pre></td>
        </tr>
      
        <tr>
          <td>FPS_BROWSER_USER_PROFILE_STRING</td>
          <td class="code"><pre>&#39;Default&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GATEWAY_INTERFACE</td>
          <td class="code"><pre>&#39;CGI/1.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GOLAND</td>
          <td class="code"><pre>&#39;C:\\goland\\GoLand 2020.1\\bin;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GOPATH</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\go&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GOPRIVATE</td>
          <td class="code"><pre>&#39;example.com/org_name&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GOPROXY</td>
          <td class="code"><pre>&#39;https://goproxy.cn,direct&#39;</pre></td>
        </tr>
      
        <tr>
          <td>GOROOT</td>
          <td class="code"><pre>&#39;C:\\Go\\&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HOMEDRIVE</td>
          <td class="code"><pre>&#39;C:&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HOMEPATH</td>
          <td class="code"><pre>&#39;\\Users\\86150&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_ACCEPT</td>
          <td class="code"><pre>&#39;*/*&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_ACCEPT_ENCODING</td>
          <td class="code"><pre>&#39;gzip, deflate&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_CONNECTION</td>
          <td class="code"><pre>&#39;keep-alive&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_COOKIE</td>
          <td class="code"><pre>&#39;sessionid=44vjjm23fdwvdostluypmpdwh5oad7ja&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_HOST</td>
          <td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_USER_AGENT</td>
          <td class="code"><pre>&#39;python-requests/2.25.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>INCLUDE</td>
          <td class="code"><pre>&#39;C:\\VC98\\atl\\include;C:\\VC98\\mfc\\include;C:\\VC98\\include&#39;</pre></td>
        </tr>
      
        <tr>
          <td>JAVA_HOME</td>
          <td class="code"><pre>&#39;C:\\Program Files\\Java\\jdk-15.0.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LIB</td>
          <td class="code"><pre>&#39;C:\\VC98\\mfc\\lib;C:\\VC98\\lib&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOCALAPPDATA</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\AppData\\Local&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOGONSERVER</td>
          <td class="code"><pre>&#39;\\\\LAPTOP-29T4IPBI&#39;</pre></td>
        </tr>
      
        <tr>
          <td>M2_HOME</td>
          <td class="code"><pre>&#39;C:\\apache-maven-3.6.3&#39;</pre></td>
        </tr>
      
        <tr>
          <td>MSDEVDIR</td>
          <td class="code"><pre>&#39;C:\\c编制\\MSDev98&#39;</pre></td>
        </tr>
      
        <tr>
          <td>NUMBER_OF_PROCESSORS</td>
          <td class="code"><pre>&#39;8&#39;</pre></td>
        </tr>
      
        <tr>
          <td>ONEDRIVE</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\OneDrive&#39;</pre></td>
        </tr>
      
        <tr>
          <td>ONEDRIVECONSUMER</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\OneDrive&#39;</pre></td>
        </tr>
      
        <tr>
          <td>OS</td>
          <td class="code"><pre>&#39;Windows_NT&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PATH</td>
          <td class="code"><pre>(&#39;C:\\Program Files (x86)\\Common &#39;
 &#39;Files\\Oracle\\Java\\javapath;C:\\虚拟机\\bin\\;C:;Program Files\\Common &#39;
 &#39;Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program &#39;
 &#39;Files\\Java\\jdk-15.0.1\\bin;C:\\Go\\bin;C:\\Program Files &#39;
 &#39;(x86)\\EasyShare\\x86\\;C:\\Program Files &#39;
 &#39;(x86)\\EasyShare\\x64\\;C:\\apache-maven-3.6.3\\bin;C:\\Program &#39;
 &#39;Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program &#39;
 &#39;Files\\Redis\\;tExtensions\\;C:\\Git\\cmd;C:\\Program &#39;
 &#39;Files\\nodejs\\;C:\\Program &#39;
 &#39;Files\\PuTTY\\;C:\\allure-2.17.3\\bin;C:\\Users\\86150\\AppData\\Local\\Programs\\Python\\Python38\\Scripts\\;C:\\Users\\86150\\AppData\\Local\\Programs\\Python\\Python38\\;C:\\c编制\\Tools\\WinNT;C:\\c编制\\MSDev98\\Bin;C:\\c编制\\Tools;C:\\VC98\\bin;C:\\Users\\86150\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\86150\\go\\bin;C:\\goland\\GoLand &#39;
 &#39;2020.1\\bin;;C:\\goland\\Microsoft VS Code\\bin;C:\\Program &#39;
 &#39;Files\\Bandizip\\;C:\\新建文件夹 &#39;
 &#39;(2)\\Fiddler;C:\\Users\\86150\\AppData\\Roaming\\npm&#39;)</pre></td>
        </tr>
      
        <tr>
          <td>PATHEXT</td>
          <td class="code"><pre>&#39;.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PATH_INFO</td>
          <td class="code"><pre>&#39;/api/mgr/customers&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROCESSOR_ARCHITECTURE</td>
          <td class="code"><pre>&#39;x86&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROCESSOR_ARCHITEW6432</td>
          <td class="code"><pre>&#39;AMD64&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROCESSOR_IDENTIFIER</td>
          <td class="code"><pre>&#39;AMD64 Family 23 Model 96 Stepping 1, AuthenticAMD&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROCESSOR_LEVEL</td>
          <td class="code"><pre>&#39;23&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROCESSOR_REVISION</td>
          <td class="code"><pre>&#39;6001&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROGRAMDATA</td>
          <td class="code"><pre>&#39;C:\\ProgramData&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROGRAMFILES</td>
          <td class="code"><pre>&#39;C:\\Program Files (x86)&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROGRAMFILES(X86)</td>
          <td class="code"><pre>&#39;C:\\Program Files (x86)&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROGRAMW6432</td>
          <td class="code"><pre>&#39;C:\\Program Files&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PROMPT</td>
          <td class="code"><pre>&#39;$P$G&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PSMODULEPATH</td>
          <td class="code"><pre>(&#39;C:\\Program &#39;
 &#39;Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules&#39;)</pre></td>
        </tr>
      
        <tr>
          <td>PUBLIC</td>
          <td class="code"><pre>&#39;C:\\Users\\Public&#39;</pre></td>
        </tr>
      
        <tr>
          <td>QUERY_STRING</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>REMOTE_ADDR</td>
          <td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>REMOTE_HOST</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>REQUEST_METHOD</td>
          <td class="code"><pre>&#39;POST&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SCRIPT_NAME</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_NAME</td>
          <td class="code"><pre>&#39;activate.navicat.com&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_PORT</td>
          <td class="code"><pre>&#39;80&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_PROTOCOL</td>
          <td class="code"><pre>&#39;HTTP/1.1&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_SOFTWARE</td>
          <td class="code"><pre>&#39;WSGIServer/0.2&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSIONNAME</td>
          <td class="code"><pre>&#39;Console&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SYSTEMDRIVE</td>
          <td class="code"><pre>&#39;C:&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SYSTEMROOT</td>
          <td class="code"><pre>&#39;C:\\WINDOWS&#39;</pre></td>
        </tr>
      
        <tr>
          <td>TEMP</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\AppData\\Local\\Temp&#39;</pre></td>
        </tr>
      
        <tr>
          <td>TMP</td>
          <td class="code"><pre>&#39;C:\\Users\\86150\\AppData\\Local\\Temp&#39;</pre></td>
        </tr>
      
        <tr>
          <td>USERDOMAIN</td>
          <td class="code"><pre>&#39;LAPTOP-29T4IPBI&#39;</pre></td>
        </tr>
      
        <tr>
          <td>USERDOMAIN_ROAMINGPROFILE</td>
          <td class="code"><pre>&#39;LAPTOP-29T4IPBI&#39;</pre></td>
        </tr>
      
        <tr>
          <td>USERNAME</td>
          <td class="code"><pre>&#39;86150&#39;</pre></td>
        </tr>
      
        <tr>
          <td>USERPROFILE</td>
          <td class="code"><pre>&#39;C:\\Users\\86150&#39;</pre></td>
        </tr>
      
        <tr>
          <td>WINDIR</td>
          <td class="code"><pre>&#39;C:\\WINDOWS&#39;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.errors</td>
          <td class="code"><pre>&lt;_io.TextIOWrapper name=&#39;&lt;stderr&gt;&#39; mode=&#39;w&#39; encoding=&#39;utf-8&#39;&gt;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.file_wrapper</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.input</td>
          <td class="code"><pre>&lt;django.core.handlers.wsgi.LimitedStream object at 0x0471B630&gt;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.multiprocess</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.multithread</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.run_once</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.url_scheme</td>
          <td class="code"><pre>&#39;http&#39;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.version</td>
          <td class="code"><pre>(1, 0)</pre></td>
        </tr>
      
    </tbody>
  </table>


  <h3 id="settings-info">Settings</h3>
  <h4>Using settings module <code>bysms.settings</code></h4>
  <table class="req">
    <thead>
      <tr>
        <th>Setting</th>
        <th>Value</th>
      </tr>
    </thead>
    <tbody>
      
        <tr>
          <td>ABSOLUTE_URL_OVERRIDES</td>
          <td class="code"><pre>{}</pre></td>
        </tr>
      
        <tr>
          <td>ADMINS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>ALLOWED_HOSTS</td>
          <td class="code"><pre>[&#39;192.168.1.100&#39;, &#39;localhost&#39;, &#39;127.0.0.1&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>APPEND_SLASH</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>AUTHENTICATION_BACKENDS</td>
          <td class="code"><pre>[&#39;django.contrib.auth.backends.ModelBackend&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>AUTH_PASSWORD_VALIDATORS</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>AUTH_USER_MODEL</td>
          <td class="code"><pre>&#39;auth.User&#39;</pre></td>
        </tr>
      
        <tr>
          <td>BASE_DIR</td>
          <td class="code"><pre>&#39;C:\\offc\\百度网盘资料\\bysms\\bysms\\resource\\lib\\site-packages&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CACHES</td>
          <td class="code"><pre>{&#39;default&#39;: {&#39;BACKEND&#39;: &#39;django.core.cache.backends.locmem.LocMemCache&#39;}}</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_ALIAS</td>
          <td class="code"><pre>&#39;default&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_SECONDS</td>
          <td class="code"><pre>600</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_AGE</td>
          <td class="code"><pre>31449600</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_HTTPONLY</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_NAME</td>
          <td class="code"><pre>&#39;csrftoken&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_PATH</td>
          <td class="code"><pre>&#39;/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_SAMESITE</td>
          <td class="code"><pre>&#39;Lax&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_SECURE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_FAILURE_VIEW</td>
          <td class="code"><pre>&#39;django.views.csrf.csrf_failure&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_HEADER_NAME</td>
          <td class="code"><pre>&#39;HTTP_X_CSRFTOKEN&#39;</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_TRUSTED_ORIGINS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_USE_SESSIONS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>DATABASES</td>
          <td class="code"><pre>{&#39;default&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
             &#39;AUTOCOMMIT&#39;: True,
             &#39;CONN_MAX_AGE&#39;: 0,
             &#39;ENGINE&#39;: &#39;django.db.backends.sqlite3&#39;,
             &#39;HOST&#39;: &#39;&#39;,
             &#39;NAME&#39;: &#39;db.sqlite3&#39;,
             &#39;OPTIONS&#39;: {},
             &#39;PASSWORD&#39;: &#39;********************&#39;,
             &#39;PORT&#39;: &#39;&#39;,
             &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
                      &#39;COLLATION&#39;: None,
                      &#39;MIRROR&#39;: None,
                      &#39;NAME&#39;: None},
             &#39;TIME_ZONE&#39;: None,
             &#39;USER&#39;: &#39;&#39;}}</pre></td>
        </tr>
      
        <tr>
          <td>DATABASE_ROUTERS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
          <td class="code"><pre>2621440</pre></td>
        </tr>
      
        <tr>
          <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
          <td class="code"><pre>1000</pre></td>
        </tr>
      
        <tr>
          <td>DATETIME_FORMAT</td>
          <td class="code"><pre>&#39;N j, Y, P&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DATETIME_INPUT_FORMATS</td>
          <td class="code"><pre>[&#39;%Y-%m-%d %H:%M:%S&#39;,
 &#39;%Y-%m-%d %H:%M:%S.%f&#39;,
 &#39;%Y-%m-%d %H:%M&#39;,
 &#39;%Y-%m-%d&#39;,
 &#39;%m/%d/%Y %H:%M:%S&#39;,
 &#39;%m/%d/%Y %H:%M:%S.%f&#39;,
 &#39;%m/%d/%Y %H:%M&#39;,
 &#39;%m/%d/%Y&#39;,
 &#39;%m/%d/%y %H:%M:%S&#39;,
 &#39;%m/%d/%y %H:%M:%S.%f&#39;,
 &#39;%m/%d/%y %H:%M&#39;,
 &#39;%m/%d/%y&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>DATE_FORMAT</td>
          <td class="code"><pre>&#39;N j, Y&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DATE_INPUT_FORMATS</td>
          <td class="code"><pre>[&#39;%Y-%m-%d&#39;,
 &#39;%m/%d/%Y&#39;,
 &#39;%m/%d/%y&#39;,
 &#39;%b %d %Y&#39;,
 &#39;%b %d, %Y&#39;,
 &#39;%d %b %Y&#39;,
 &#39;%d %b, %Y&#39;,
 &#39;%B %d %Y&#39;,
 &#39;%B %d, %Y&#39;,
 &#39;%d %B %Y&#39;,
 &#39;%d %B, %Y&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>DEBUG</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>DECIMAL_SEPARATOR</td>
          <td class="code"><pre>&#39;.&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_CHARSET</td>
          <td class="code"><pre>&#39;utf-8&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_CONTENT_TYPE</td>
          <td class="code"><pre>&#39;text/html&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
          <td class="code"><pre>&#39;django.views.debug.SafeExceptionReporterFilter&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_FILE_STORAGE</td>
          <td class="code"><pre>&#39;django.core.files.storage.FileSystemStorage&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_FROM_EMAIL</td>
          <td class="code"><pre>&#39;webmaster@localhost&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_INDEX_TABLESPACE</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_TABLESPACE</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>DISALLOWED_USER_AGENTS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_BACKEND</td>
          <td class="code"><pre>&#39;django.core.mail.backends.smtp.EmailBackend&#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST</td>
          <td class="code"><pre>&#39;localhost&#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST_PASSWORD</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST_USER</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_PORT</td>
          <td class="code"><pre>25</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SSL_CERTFILE</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SSL_KEYFILE</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SUBJECT_PREFIX</td>
          <td class="code"><pre>&#39;[Django] &#39;</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_TIMEOUT</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_LOCALTIME</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_SSL</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_TLS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>FILE_CHARSET</td>
          <td class="code"><pre>&#39;utf-8&#39;</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_HANDLERS</td>
          <td class="code"><pre>[&#39;django.core.files.uploadhandler.MemoryFileUploadHandler&#39;,
 &#39;django.core.files.uploadhandler.TemporaryFileUploadHandler&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
          <td class="code"><pre>2621440</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_PERMISSIONS</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_TEMP_DIR</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FIRST_DAY_OF_WEEK</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>FIXTURE_DIRS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>FORCE_SCRIPT_NAME</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FORMAT_MODULE_PATH</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FORM_RENDERER</td>
          <td class="code"><pre>&#39;django.forms.renderers.DjangoTemplates&#39;</pre></td>
        </tr>
      
        <tr>
          <td>IGNORABLE_404_URLS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>INSTALLED_APPS</td>
          <td class="code"><pre>[&#39;django.contrib.admin&#39;,
 &#39;django.contrib.auth&#39;,
 &#39;django.contrib.contenttypes&#39;,
 &#39;django.contrib.sessions&#39;,
 &#39;django.contrib.messages&#39;,
 &#39;django.contrib.staticfiles&#39;,
 &#39;common.apps.CommonConfig&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>INTERNAL_IPS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGES</td>
          <td class="code"><pre>[(&#39;af&#39;, &#39;Afrikaans&#39;),
 (&#39;ar&#39;, &#39;Arabic&#39;),
 (&#39;ast&#39;, &#39;Asturian&#39;),
 (&#39;az&#39;, &#39;Azerbaijani&#39;),
 (&#39;bg&#39;, &#39;Bulgarian&#39;),
 (&#39;be&#39;, &#39;Belarusian&#39;),
 (&#39;bn&#39;, &#39;Bengali&#39;),
 (&#39;br&#39;, &#39;Breton&#39;),
 (&#39;bs&#39;, &#39;Bosnian&#39;),
 (&#39;ca&#39;, &#39;Catalan&#39;),
 (&#39;cs&#39;, &#39;Czech&#39;),
 (&#39;cy&#39;, &#39;Welsh&#39;),
 (&#39;da&#39;, &#39;Danish&#39;),
 (&#39;de&#39;, &#39;German&#39;),
 (&#39;dsb&#39;, &#39;Lower Sorbian&#39;),
 (&#39;el&#39;, &#39;Greek&#39;),
 (&#39;en&#39;, &#39;English&#39;),
 (&#39;en-au&#39;, &#39;Australian English&#39;),
 (&#39;en-gb&#39;, &#39;British English&#39;),
 (&#39;eo&#39;, &#39;Esperanto&#39;),
 (&#39;es&#39;, &#39;Spanish&#39;),
 (&#39;es-ar&#39;, &#39;Argentinian Spanish&#39;),
 (&#39;es-co&#39;, &#39;Colombian Spanish&#39;),
 (&#39;es-mx&#39;, &#39;Mexican Spanish&#39;),
 (&#39;es-ni&#39;, &#39;Nicaraguan Spanish&#39;),
 (&#39;es-ve&#39;, &#39;Venezuelan Spanish&#39;),
 (&#39;et&#39;, &#39;Estonian&#39;),
 (&#39;eu&#39;, &#39;Basque&#39;),
 (&#39;fa&#39;, &#39;Persian&#39;),
 (&#39;fi&#39;, &#39;Finnish&#39;),
 (&#39;fr&#39;, &#39;French&#39;),
 (&#39;fy&#39;, &#39;Frisian&#39;),
 (&#39;ga&#39;, &#39;Irish&#39;),
 (&#39;gd&#39;, &#39;Scottish Gaelic&#39;),
 (&#39;gl&#39;, &#39;Galician&#39;),
 (&#39;he&#39;, &#39;Hebrew&#39;),
 (&#39;hi&#39;, &#39;Hindi&#39;),
 (&#39;hr&#39;, &#39;Croatian&#39;),
 (&#39;hsb&#39;, &#39;Upper Sorbian&#39;),
 (&#39;hu&#39;, &#39;Hungarian&#39;),
 (&#39;hy&#39;, &#39;Armenian&#39;),
 (&#39;ia&#39;, &#39;Interlingua&#39;),
 (&#39;id&#39;, &#39;Indonesian&#39;),
 (&#39;io&#39;, &#39;Ido&#39;),
 (&#39;is&#39;, &#39;Icelandic&#39;),
 (&#39;it&#39;, &#39;Italian&#39;),
 (&#39;ja&#39;, &#39;Japanese&#39;),
 (&#39;ka&#39;, &#39;Georgian&#39;),
 (&#39;kab&#39;, &#39;Kabyle&#39;),
 (&#39;kk&#39;, &#39;Kazakh&#39;),
 (&#39;km&#39;, &#39;Khmer&#39;),
 (&#39;kn&#39;, &#39;Kannada&#39;),
 (&#39;ko&#39;, &#39;Korean&#39;),
 (&#39;lb&#39;, &#39;Luxembourgish&#39;),
 (&#39;lt&#39;, &#39;Lithuanian&#39;),
 (&#39;lv&#39;, &#39;Latvian&#39;),
 (&#39;mk&#39;, &#39;Macedonian&#39;),
 (&#39;ml&#39;, &#39;Malayalam&#39;),
 (&#39;mn&#39;, &#39;Mongolian&#39;),
 (&#39;mr&#39;, &#39;Marathi&#39;),
 (&#39;my&#39;, &#39;Burmese&#39;),
 (&#39;nb&#39;, &#39;Norwegian Bokmål&#39;),
 (&#39;ne&#39;, &#39;Nepali&#39;),
 (&#39;nl&#39;, &#39;Dutch&#39;),
 (&#39;nn&#39;, &#39;Norwegian Nynorsk&#39;),
 (&#39;os&#39;, &#39;Ossetic&#39;),
 (&#39;pa&#39;, &#39;Punjabi&#39;),
 (&#39;pl&#39;, &#39;Polish&#39;),
 (&#39;pt&#39;, &#39;Portuguese&#39;),
 (&#39;pt-br&#39;, &#39;Brazilian Portuguese&#39;),
 (&#39;ro&#39;, &#39;Romanian&#39;),
 (&#39;ru&#39;, &#39;Russian&#39;),
 (&#39;sk&#39;, &#39;Slovak&#39;),
 (&#39;sl&#39;, &#39;Slovenian&#39;),
 (&#39;sq&#39;, &#39;Albanian&#39;),
 (&#39;sr&#39;, &#39;Serbian&#39;),
 (&#39;sr-latn&#39;, &#39;Serbian Latin&#39;),
 (&#39;sv&#39;, &#39;Swedish&#39;),
 (&#39;sw&#39;, &#39;Swahili&#39;),
 (&#39;ta&#39;, &#39;Tamil&#39;),
 (&#39;te&#39;, &#39;Telugu&#39;),
 (&#39;th&#39;, &#39;Thai&#39;),
 (&#39;tr&#39;, &#39;Turkish&#39;),
 (&#39;tt&#39;, &#39;Tatar&#39;),
 (&#39;udm&#39;, &#39;Udmurt&#39;),
 (&#39;uk&#39;, &#39;Ukrainian&#39;),
 (&#39;ur&#39;, &#39;Urdu&#39;),
 (&#39;vi&#39;, &#39;Vietnamese&#39;),
 (&#39;zh-hans&#39;, &#39;Simplified Chinese&#39;),
 (&#39;zh-hant&#39;, &#39;Traditional Chinese&#39;)]</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGES_BIDI</td>
          <td class="code"><pre>[&#39;he&#39;, &#39;ar&#39;, &#39;fa&#39;, &#39;ur&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_CODE</td>
          <td class="code"><pre>&#39;en&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_AGE</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_NAME</td>
          <td class="code"><pre>&#39;django_language&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_PATH</td>
          <td class="code"><pre>&#39;/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOCALE_PATHS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>LOGGING</td>
          <td class="code"><pre>{}</pre></td>
        </tr>
      
        <tr>
          <td>LOGGING_CONFIG</td>
          <td class="code"><pre>&#39;logging.config.dictConfig&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOGIN_REDIRECT_URL</td>
          <td class="code"><pre>&#39;/accounts/profile/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOGIN_URL</td>
          <td class="code"><pre>&#39;/accounts/login/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>LOGOUT_REDIRECT_URL</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>MANAGERS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>MEDIA_ROOT</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>MEDIA_URL</td>
          <td class="code"><pre>&#39;&#39;</pre></td>
        </tr>
      
        <tr>
          <td>MESSAGE_STORAGE</td>
          <td class="code"><pre>&#39;django.contrib.messages.storage.fallback.FallbackStorage&#39;</pre></td>
        </tr>
      
        <tr>
          <td>MIDDLEWARE</td>
          <td class="code"><pre>[&#39;django.middleware.security.SecurityMiddleware&#39;,
 &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
 &#39;django.middleware.common.CommonMiddleware&#39;,
 &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
 &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
 &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>MIGRATION_MODULES</td>
          <td class="code"><pre>{}</pre></td>
        </tr>
      
        <tr>
          <td>MONTH_DAY_FORMAT</td>
          <td class="code"><pre>&#39;F j&#39;</pre></td>
        </tr>
      
        <tr>
          <td>NUMBER_GROUPING</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>PASSWORD_HASHERS</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>PREPEND_WWW</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>ROOT_URLCONF</td>
          <td class="code"><pre>&#39;bysms.urls&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SECRET_KEY</td>
          <td class="code"><pre>&#39;********************&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_BROWSER_XSS_FILTER</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_PRELOAD</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_SECONDS</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_PROXY_SSL_HEADER</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_REDIRECT_EXEMPT</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_SSL_HOST</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_SSL_REDIRECT</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_EMAIL</td>
          <td class="code"><pre>&#39;root@localhost&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_CACHE_ALIAS</td>
          <td class="code"><pre>&#39;default&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_AGE</td>
          <td class="code"><pre>1209600</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_HTTPONLY</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_NAME</td>
          <td class="code"><pre>&#39;sessionid&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_PATH</td>
          <td class="code"><pre>&#39;/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_SAMESITE</td>
          <td class="code"><pre>&#39;Lax&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_SECURE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_ENGINE</td>
          <td class="code"><pre>&#39;django.contrib.sessions.backends.db&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_FILE_PATH</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_SAVE_EVERY_REQUEST</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_SERIALIZER</td>
          <td class="code"><pre>&#39;django.contrib.sessions.serializers.JSONSerializer&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SETTINGS_MODULE</td>
          <td class="code"><pre>&#39;bysms.settings&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SHORT_DATETIME_FORMAT</td>
          <td class="code"><pre>&#39;m/d/Y P&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SHORT_DATE_FORMAT</td>
          <td class="code"><pre>&#39;m/d/Y&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SIGNING_BACKEND</td>
          <td class="code"><pre>&#39;django.core.signing.TimestampSigner&#39;</pre></td>
        </tr>
      
        <tr>
          <td>SILENCED_SYSTEM_CHECKS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_DIRS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_FINDERS</td>
          <td class="code"><pre>[&#39;django.contrib.staticfiles.finders.FileSystemFinder&#39;,
 &#39;django.contrib.staticfiles.finders.AppDirectoriesFinder&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_STORAGE</td>
          <td class="code"><pre>&#39;django.contrib.staticfiles.storage.StaticFilesStorage&#39;</pre></td>
        </tr>
      
        <tr>
          <td>STATIC_ROOT</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>STATIC_URL</td>
          <td class="code"><pre>&#39;/static/&#39;</pre></td>
        </tr>
      
        <tr>
          <td>TEMPLATES</td>
          <td class="code"><pre>[{&#39;APP_DIRS&#39;: True,
  &#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,
  &#39;DIRS&#39;: [],
  &#39;OPTIONS&#39;: {&#39;context_processors&#39;: [&#39;django.template.context_processors.debug&#39;,
                                     &#39;django.template.context_processors.request&#39;,
                                     &#39;django.contrib.auth.context_processors.auth&#39;,
                                     &#39;django.contrib.messages.context_processors.messages&#39;]}}]</pre></td>
        </tr>
      
        <tr>
          <td>TEST_NON_SERIALIZED_APPS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>TEST_RUNNER</td>
          <td class="code"><pre>&#39;django.test.runner.DiscoverRunner&#39;</pre></td>
        </tr>
      
        <tr>
          <td>THOUSAND_SEPARATOR</td>
          <td class="code"><pre>&#39;,&#39;</pre></td>
        </tr>
      
        <tr>
          <td>TIME_FORMAT</td>
          <td class="code"><pre>&#39;P&#39;</pre></td>
        </tr>
      
        <tr>
          <td>TIME_INPUT_FORMATS</td>
          <td class="code"><pre>[&#39;%H:%M:%S&#39;, &#39;%H:%M:%S.%f&#39;, &#39;%H:%M&#39;]</pre></td>
        </tr>
      
        <tr>
          <td>TIME_ZONE</td>
          <td class="code"><pre>&#39;Asia/Shanghai&#39;</pre></td>
        </tr>
      
        <tr>
          <td>USE_I18N</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>USE_L10N</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>USE_THOUSAND_SEPARATOR</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>USE_TZ</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>USE_X_FORWARDED_HOST</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>USE_X_FORWARDED_PORT</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>WSGI_APPLICATION</td>
          <td class="code"><pre>&#39;bysms.wsgi.application&#39;</pre></td>
        </tr>
      
        <tr>
          <td>X_FRAME_OPTIONS</td>
          <td class="code"><pre>&#39;SAMEORIGIN&#39;</pre></td>
        </tr>
      
        <tr>
          <td>YEAR_MONTH_FORMAT</td>
          <td class="code"><pre>&#39;F Y&#39;</pre></td>
        </tr>
      
    </tbody>
  </table>

</div>

  <div id="explanation">
    <p>
      You're seeing this error because you have <code>DEBUG = True</code> in your
      Django settings file. Change that to <code>False</code>, and Django will
      display a standard page generated by the handler for this status code.
    </p>
  </div>

</body>
</html>

-------- HTTP response * end -------


  ABORT   Expecting value: line 1 column 1 (char 0) 
Traceback:
  File "cases\数据环境-空白\客户API\添加客户.py", line 65, in teststeps
    addRet = r.json()
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\models.py", line 900, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\simplejson\__init__.py", line 525, in loads
    return _default_decoder.decode(s)
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\simplejson\decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\simplejson\decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\simplejson\scanner.py", line 79, in scan_once
    return _scan_once(string, idx)
  File "C:\Users\86150\AppData\Local\Programs\Python\Python38\lib\site-packages\simplejson\scanner.py", line 70, in _scan_once
    raise JSONDecodeError(errmsg, string, idx)
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)



  ========= 测试结束 : 20220320_231541 =========


  耗时    : 0.340 秒


  预备执行用例数量 : 2

  实际执行用例数量 : 2

  通过 : 1

  失败 : 0

  异常 : 1

  套件初始化失败 : 0

  套件清除  失败 : 0

  用例初始化失败 : 0

  用例清除  失败 : 0
